The problem of entering text into machines using Voice or Speech has existed for a long time. This problem is of specific importance in many practical situations that include applications involving (1) hands-free and/or eyes-free interaction, (2) landline/cellular telephones, personal-digital-assistants, and other such small form-factor devices where a full-size keyboard is lacking, (3) error-correction of a spoken word (like in speech-recognition-for-dictation systems) using a spelling-mode interface, (4) character-recognition, like data-entry using embedded devices, baggage-ID entry using telephone etc. Furthermore, the problem of entering characters (letters and/or alphanumeric symbols) using speech, as opposed to a keyboard, is of specific importance in “wireless-text-messaging” and/or “wireless-data-entry” applications, where the competing interfaces that currently exist, exhibit high degrees of difficulty-to-use.
Speech recognition of spoken characters has been addressed for a long time, but lacks the desired recognition accuracy. This is primarily due to the existing similarities in acoustics among certain groups of characters. There are many confusable groups of characters. For instance, in English language, the most notable group is the so-called “E-set”, which is formed of the letters B, C, D, E, G, P, T, V and Z. Because of the minimal acoustic differences between letter pairs in this E-set, speech recognition of these letters is recognized as being one of the most difficult tasks. Other less confusable groups also present similar problems. Furthermore, the accuracy for recognition of characters is poor, also because the underlying acoustic information in speech waveforms corresponding to the individual characters inherit relatively short durations.
Historically, speech recognition systems have tried to address the above problems by mapping some tags (typically words) to the characters. For instance, the most commonly employed technique is to use the military-alphabet that makes the following mapping: A-Alpha, B-Bravo, C-Charlie, etc. Alternatively, systems also resort to using other forms of mapping like A-for-Alabama, B-for-Boston, C-for-California etc. Further, some systems (see IBM's U.S. Pat. No. 5,995,934, Tang, Nov. 30, 1999) have used techniques like mapping alphanumeric symbols into Chinese idioms or words.
The above user-interface technique of mapping words/tags to characters dramatically improves the accuracy of a speech recognition system. Unfortunately, there are many problems associated with such techniques. Some of these problem include: (1) the users have to memorize/remember these tags which, in almost all real-world applications, is not desirable; (2) the users have to remember/train to pronounce these words/tags in a manner that is well-suited for the specific recognition system; (3) the time it takes to render the speech for these words/tags is large (and depends on the choice of words) compared to the time it takes to simply render speech corresponding to the characters; and (4) the choice of words does not always guarantee optimum separation of the words in the acoustic space. Clearly there is a trade-off between accuracy, speed, and ease of learning, when it comes to designing a user-interface for character recognition.